perm filename CNODES[0,BGB] blob
sn#206959 filedate 1974-04-23 generic text, type C, neo UTF8
COMMENT ⊗ VALID 00011 PAGES
C REC PAGE DESCRIPTION
C00001 00001
C00002 00002 4.6 CRE NODE FORMATS.
C00006 00003 CRE Node Rellocation Bits.
C00008 00004 1. VECTOR & 2. ARC NODE FORMAT.
C00013 00005 3. POLYGON NODE FORMAT.
C00017 00006 4. SHAPE NODE FORMAT.
C00022 00007 5. LEVEL NODE FORMAT.
C00025 00008 6. IMAGE NODE FORMAT.
C00029 00009 7. FILM NODE FORMAT.
C00032 00010 8. EMPTY NODE FORMAT.
C00035 00011 DATA STRUCTURE: IMAGE ARRAYS.
C00039 ENDMK
C⊗;
4.6 CRE NODE FORMATS.
DATA STRUCTURE: TYPE BITS.
Each node has a word reserved for a boolean vector of 36
values, or bits. The first eighteen bits are called the type bits
and are individually named as follows:
_____________________________________________________________________
for 0 WESBIT westward vector.
vectors 1 SOUBIT southward vector.
only 2 EASBIT eastward vector.
3 NORBIT northward vector.
_____________________________________________________________________
4 NFUSE NTIME polygon fusion.
5 NFISS NTIME polygon fission.
for 6 NEXCT NTIME polygon exact match.
polygons
only 7 PFUSE PTIME polygon fusion.
8 PFISS PTIME polygon fission.
9 PEXCT PTIME polygon exact match.
_____________________________________________________________________
10 HOLBIT Hole polygon bit.
modify 11 ARCBIT Arc vector bit.
_____________________________________________________________________
12 SBIT Shape node bit.
13 VBIT Vertex node bit.
14 PBIT Polygon node bit.
kind
15 LBIT Level node bit.
16 IBIT Image node bit.
17 FBIT Film node bit.
_____________________________________________________________________
The first four bits WESBIT, SOUBIT, EASBIT and NORBIT apply
only to vectors and indicate the direction of the vector. The next
six bits NFUSE, NFISS, NEXCT, PFUSE, PFISS, PEXCT are set by the
polygon compare routine to indicate the kind of time mating found;
where N and P mean negative time or postive time linkage; fusion
means that the given polygon and another polygon fuse to form the
time polygon, two into one; fission means the given polygon splits,
one into two; and exact means that the given polygon matchs one for
one with its time polygon.
The next two bits HOLBIT and ARCBIT indicate distinguished
polygons and vectors respectively. Only one of the last six bits:
SBIT, VBIT, PBIT, LBIT, IBIT and FBIT may be on in a node. These
bits indicate the node's type.
CRE Node Rellocation Bits.
The next eighteen bits are called the reloc bits and
indicate whether or not a link is stored in a particular position of
the node. The rellocation bits are used to compact the CRE node
space for output.
18 unused
19 CAR(WORD0)
20 CDR(WORD0)
21 unused
22 CAR(WORD1)
23 CDR(WORD1)
24 unused
25 CAR(WORD3)
26 CDR(WORD3)
27 unused
28 CAR(WORD4)
29 CDR(WORD4)
30 unused
31 CAR(WORD5)
32 CDR(WORD5)
33 unused
34 CAR(WORD6)
35 CDR(WORD6)
The CAR of a word is the left half. The CDR of a word is the
right half. In the node diagrams the rellocation of each word is
indicated directly to its right as 0, 1, 2 or 3 meaning no
rellocation, left only, right only, and rellocate both halves,
respectively.
1. VECTOR & 2. ARC NODE FORMAT.
_____________________________________________
word | CW | CCW |
0 | vector ring | 3
_____|___________________|___________________|
word | DAD | SON |
1 | polygon | arc or vector | 3
_____|___________________|___________________|
word | type | reloc |
2 | | 33 0003 |
_____|___________________|___________________|
word | row | col |
3 | 0000.00 | 0000.00 | 0
_____|___________________|___________________|
word | cntrst | ncnt |
4 | | length | 0
_____|___________________|___________________|
word | |
5 | zdepth | 0
_____|_______________________________________|
word | | |
6 | NTIME time line PTIME | 3
_____|___________________|___________________|
The format of vectors and arcs is identical. Inside CRE the
term "vector" has the connotation of being strictly a horizontal or
vertical generated by the contouring step; whereas an arc is a
vector generated by the smoothing step. Vectors contain the
fundamental geometric datum of an image locus. The image locus is
stored in the halfword datums named row and col, which contain the
row and column of a point in units 1/64 of a pixel. (A "pixel" is a
"picture element"). Vectors and arcs also contain the photometric
datum of edge contrast.
Vectors always belong to a polygon node, a pointer to the
polygon of each vector is stored in the link named DAD; as members
of a polygon the vectors form a loop which is always connected so that
each vertex has a neighboring vertex in the clockwise and in the
counter clockwise directions about the polygon's perimeter; these
perimeter pointers are stored in the link positions named CW and
CCW. Vectors never cross, arcs cross on occassions but can be fixed.
The ncnt datum of arcs and vectors contains their length.
The time line links, NTIME and PTIME, may point to a corresponding
arc or vector in the image previous or subsequent to the current
image. (The zdepth datum contains a positive number indicating
distance from the camera's image plane; the zdepth computation is
not properly implemented as of May 1973).
3. POLYGON NODE FORMAT.
_____________________________________________
word | CW | CCW |
0 | polygon ring | 3
_____|___________________|___________________|
word | DAD | SON |
1 | level | 1st vector | 3
_____|___________________|___________________|
word | type | reloc |
2 | 10 | 33 3233 |
_____|___________________|___________________|
word | ENDO | EXO |
3 |1st polygon within |polygon surround me| 3
_____|___________________|___________________|
word | ALT | ncnt |
4 | shape {or 1st arc}| number of sides | 2
_____|___________________|___________________|
word | NGON | PGON |
5 | nest bro polygon | nest sis polygon | 3
_____|___________________|___________________|
word | | |
6 | NTIME time line PTIME | 3
_____|___________________|___________________|
Every polygon belongs to a level pointed at by the DAD link;
the ring of polygons of a level is formed in the CW and CCW links;
the son of a polygon is its first vector (or arc after the polygon
has been smoothed) and that first vector has the upper left most
locus of any vector of the polygon.
The ENDO, EXO, NGON, PGON are used to form the nested
polygon tree. Every polygon has non-NIL NGON and PGON links; the
trivial case being that the polygon points at itself twice. Every
polygon except one, the outer border polygon, has a non-NIL EXO
link. Every polygon that surrounds one or more other polygons has a
non-NIL ENDO link.
The ALT link position of a polygon temporarily points to the
first arc of a polygon during smoothing when a polygon has both
vectors and arcs. The final contents of the ALT link is a pointer to
the shape node of the polygon. The ncnt datum indicates the number
of sides of the polygon.
The time line of polygons runs thru the NTIME and PTIME
links which point either to a nearly exact match of a polygon; or to
a fusion polygon of a two for one match; or to one of the two
fission parts of a one for two match; (to find the other fission
part, the time links of the vectors must be scanned).
4. SHAPE NODE FORMAT.
_____________________________________________
word | CW | CCW |
0 | fusion shape ring | 3
_____|___________________|___________________|
word | perm | area |
1 | | | 0
_____|___________________|___________________|
word | type | reloc |
2 | 10 | 30 0030 |
_____|___________________|___________________|
word | row | col |
3 | 0000.00 | 0000.00 | 0
_____|___________________|___________________|
word | pxy | mzz |
4 |product of inertia | Z-axis moment | 0
_____|___________________|___________________|
word | NGON | PGON |
5 | fusion polygon | main polygon | 3
_____|___________________|___________________|
word | mxx | myy |
6 | X-axis moment | Y-axis moment | 0
_____|___________________|___________________|
The shape node contains the data necessary for normalizing
two polygons so that only their shapes remain. In particular, the
row and col of a shape node is the center of mass of the polygon;
area is the area; perm is the length of perimeter; and mxx, myy,
mzz, pxy is the polygons inertia tensor (from which the principle
angle of orientation can be computed). When given two shapes, the
centers of mass may be alligned; the principle angles may be allign;
and the areas (or permeter) of the two may be normalized.
There are two kinds of shapes: polygon shapes and fusion
shapes. Polygon shapes correspond to a single polygon pointed at by
the PGON link. The CW, CCW and NGON links of a polygon shape are
NIL. Fusion shapes are temporary nodes belonging to a level as a
ring thru CW and CCW. Fusion shapes correspond to the summation of
two unmated polygons which are pointed to by the NGON and PGON
links. The expressions relating to the inertia tensor and to fusion
summation are given in the section on polygon comparing.
The datums named perm, area, pxy, mxx, myy, mzz contain the
left half of a PDP-10 floating number. (Technical note: half of a
floating number has 9 bits of precision and should be expanded to
full word by using the (mirabile dictu !) HLLE instruction in order
to avoid an illegal floating zero caused by truncating numbers like
-1023.0; in CRE, only the product of inertia will ever be negative).
5. LEVEL NODE FORMAT.
_____________________________________________
word | CW | CCW |
0 | level ring | 3
_____|___________________|___________________|
word | DAD | SON |
1 | image | 1st polygon | 3
_____|___________________|___________________|
word | type | reloc |
2 | | 33 0200 |
_____|___________________|___________________|
word | | |
3 | --- ⊂α↓↓↓↓αβq↓↓α↓↓↓↓ji5↓↓α↓↓↓↓αβq↓@hP$``A@cp`A@```A@```A@```A@cp`A@```A@```A@```A@cp4PK←?K"βq↓↓α↓↓↓αbQ↓↓α↓↓↓↓αβq↓↓α↓↓↓βv≠;Q↓α↓↓↓↓αβp4(J↓↓Q↓πa↓!G∨!β≠W≡K?9β≡CπC∃OcS#K/≠#?3"β∂WQεc↔[↔ga↓H4PH```ACp``A@```A@```A@```ACp``A@```A@```A@```ACp4(O;?K⊃πa↓↓↓α↓↓↓↓α↓↓↓↓α↓↓↓↓πa↓↓↓α↓↓↓↓α↓↓↓↓α↓↓↓↓π`4(%α↓U↓βb↓↓↓↓α↓↓55j↓↓↓↓α↓↓↓βb↓↓↓↓α↓↓55j↓↓↓↓α↓↓↓βb↓@4(I@```G````A@```A@```A@```G````A@```A@```A@```G`4('>{K⊃βb↓↓↓↓α↓↓↓↓α↓↓↓↓α↓↓↓βb↓↓↓↓α↓↓↓↓α↓↓↓↓α↓↓↓β`h(%↓β1↓βqα↓↓↓↓α↓555α↓↓↓↓α↓↓βqα↓↓↓↓α↓555α↓↓↓↓α↓↓βqβ4($A@``ca@```A@```A@```A@``ca@```A@```A@```A@``c`h(4(L+[↔KJβ3↔[.aβ↔f{;∨Mπ#=↓β∞qβ'7∞;∃βC}K;S↔"βS=β↔I↓βSF)α∩ε"β3';[X4+SF)↓βKNs≥β?2β3↔[.cMβ?2↓βπ9εK7π∨*β'M↓ε3?K7.!β'9π##∃α≥9↓βπv!α∞∞:β3';←→l4+&C∃βO}qβ?→αβ¬β3/3↔1βO→β'S~↓β≠'↔≠QβC}cg∨?rβπ;⊃αβS#π"β≠'K∨!βC?gK∨?9αβ'L4W##∃β/βC↔Iεc↔≠Qεk?OQπβ?3g>{9β?2βS#∃εc↔[↔bp4(4PJS#∃εs∂;Qε#πSWj↓β?→ε β3↔6+1β∂}sSπ'w→β'S~↓βS#⊗+O#?f!β∂W"β[π3.)04+>C'∂!αβ'Mβ∞q↓β'w#↔∨↔∩↓β↔';↔↔9αiE↓β∞s⊃↓Y~q↓↓α&C∃↓↓k β3↔6+1↓βO→βπ3>gL4V;↔;↔⊗S↔⊃bβπ;⊃εKQβ∂}sSπ'w→β¬β≡K;∨3*βC?3N;?9β>KS!β6{WI↓π≠'∪↔~q↓αSF)↓5DhS3↔[.a∨Mβε{3g∨}qβ'Mε≠π33.!↓βSF)β?⊗#↔Iβε{3g∨}qmβSF)β≠'∨#'?9ε∪↔';:βS#π h+↔[/∪eβC}K;Q↓ε∪↔g?v!↓βSF)↓β↔&;↔M↓ε{→↓β&C∃↓β&+3↔[≡K?9↓πβ'∂S/∪∃↓βFM↓β∞p4+'w#↔;OO#eβ[∞cW∃β}1↓5Ibβ←#'≡Aβ'Mε∪3π∂↑+IβSF9βf∂-8hP4(&&C∃αεe!β3'vYβ?→ε β3↔6+1β∂}sSπ'w→↓β¬π#↔7C␈∪πKeπβ?';&+IβSzβS#π h+3↔6+1∨Mπ∪';≥ε{→β≠/≠'?9π≠#πC/→β∪W⊗K;≥βε{3g∨}qβ∂?oβπK∃π#'7∃εkπS'v984(1Y9∧J6ε≡*α:>∩*α~>Jl
Q84Ph($`A@```A@```A@```A@```A@```A@```A@```A@```A@`ahP'←?⊗!βq↓α↓↓↓↓αα∞]↓α↓↓↓↓α↓βq↓α↓↓↓↓αα∞∞]α↓↓↓↓α↓βp4PI↓↓Aαβq↓↓α↓↓↓↓α↓↓↓↓αβ'7π>)βK'v9↓↓↓α↓↓↓↓α↓↓↓↓αβq↓LhP$``A@cp`A@```A@```A@```A@cp`A@```A@```A@```A@cp4PK←?K"βq↓↓α↓↓↓↓∧"ε⊃↓α↓↓↓↓αβq↓↓α↓↓↓↓¬~>9↓α↓↓↓↓αβp4(J↓↓E↓πa↓↓↓α↓↓↓β6K35↓α↓↓↓↓πa↓↓↓α↓GOQεc↔[↔b↓↓↓↓πa↓L4PH```ACp``A@```A@```A@```ACp``A@```A@```A@```ACp4(O;?K⊃πa↓↓↓α↓↓βSOβ∃↓↓α↓↓↓↓πa↓↓↓α↓↓βK.c?
↓α↓↓↓↓π`4(%α↓I↓βb↓↓↓↓α↓↓↓↓α↓↓↓↓α↓↓↓βb↓↓↓↓α↓MM↓β↓AA↓α↓↓↓β`h($`A@`cpA@```A@```A@```A@`cpA@```A@```A@```A@`cphP'←?⊗!βq↓α↓↓↓↓α↓↓↓↓α↓↓↓↓α↓βq↓α↓↓↓↓α↓↓↓↓α↓↓↓↓α↓βp4PI↓↓Mαβq↓↓α↓↓↓↓ji5↓↓α↓↓↓↓αβq↓↓α↓↓↓↓ji5↓↓α↓↓↓↓αβq↓@hP$``A@cp`A@```A@```A@```A@cp`A@```A@```A@```A@cp4PK←?K"βq↓↓α↓↓↓↓α↓↓↓↓α↓↓↓↓αβq↓↓α↓↓↓↓α↓↓↓↓α↓↓↓↓αβp4(J↓↓Q↓πa↓↓↓α↓↓↓5ji↓↓↓α↓↓↓↓πa↓↓↓α↓↓↓5ji↓↓↓α↓↓↓↓πa↓@4PH```ACp``A@```A@```A@```ACp``A@```A@```A@```ACp4(O;?K⊃πa↓↓↓α↓↓↓↓α↓↓↓↓α↓↓↓↓πa↓↓↓α↓↓↓↓α↓↓↓↓α↓↓↓↓π`4(%α↓U↓βb↓↓↓↓α↓↓55j↓↓↓↓α↓↓↓βb↓↓↓↓α↓↓55j↓↓↓↓α↓↓↓βb↓@4(I@```G````A@```A@```A@```G````A@```A@```A@```G`4('>{K⊃βb↓↓↓↓α↓↓↓↓α↓↓↓↓α↓↓↓βb↓↓↓↓α↓↓↓↓α↓↓↓↓α↓↓↓β`h(%↓β1↓βqα↓↓↓↓α↓555α↓↓↓↓α↓↓βqα↓↓↓↓α↓555α↓↓↓↓α↓↓βqβ4($A@``ca@```A@```A@```A@``ca@```A@```A@```A@``c`h(4(hP&↔[/∪eβ'n∨∃β⊗+3?;?→βS=αβS#∃ε3'35πβ?';&+⊃βSzβe↓π##∃α$
⊃β3Ns-l4W##∃↓π∪';≥ε{→β'n∨↔Mε{→↓β&C∃β≠Nc5β'~↓β≠?⊗k↔⊃βNqβS#*α∞]↓ε;⊃α≤~]β3Ns/MlhSS#∃π≠?9β}1βπ9εK7π∨*↓β'MεKSMβ6KKOQεc↔[↔b↓βπ;"βS#π"β≠'K∨!β3↔6+1β'~↓βS#(h)5EεK;S↔w≠'Seε≠WQβf+[↔1ε{→βSF)β'7∞;∃84Ph(&πg##?W>Aβπ9αβπ≠≠⊗{;Qβ&y↓β∂}k7?9π≠↔;O*aβS#*↓β∂?.sS↔Iε≠3?∂←;'O∀hS∪'K.≠S'?r↓βπ␈+QβSF)β'7∞;∃βKNs≥β'~βC?OO#'[∃αβ?IβfS↔IεK9βSNk∃βπv!βS#(h+∂3}≠/←'≡)β∪'⊗+∂S'}qβ'Mεs↔∨π&K[∃↓ε{Iβ↔∂∪3'↔∩β'9β&K7∃9∧I↓βπ≡C'↔[.!βS#O_4+∂/∪'=↓ε∪eβ∂}sO'O&+;S3J↓βπ∪F+K↔'v9βS=αβS#∃εkπS#.kπS'≡1↓β≡{;[↔w#'?9ε{_4+≡{W;S/⊃β∂3}≠/←'≡)βπMπβ?O'&K[∃mε;⊃β
β∪πeε≠π7∃π;#↔9ε≠?W;&+I↓β≡c?∂/>KO∀4VK?Wv!β¬β⊗K;≥β}1βK↔∞aβS'n)β↔[.sSMβ>M↓β⊗+CK↔≡+;S↔"β'9β&C∃βO∞k∃β7∞s;↔HhSπMβ≡{W;S/⊃β∂3}≠/←'≡)βπK␈+;⊃β
βC?3N;?;πbβK';:β?→β.#∨↔Mph(4(L31β&C∃β↔oβSeβ∨βπ∂∃εK9βSF)β'7∞;∃β;}#∃β'~βK↔O/∪[↔⊃ε3?Iβ≡7↔Kλh+OC.≠'≠'≡S'?rβ∪πS
p4(1]9∧2&25∧r>∩∃∧2>J6
!84(hP$``A@```A@```A@```A@```A@```A@```A@```A@```A@a4PK←?K"βq↓↓α↓↓↓↓α↓↓↓↓α↓↓↓↓αβq↓↓α↓↓↓↓∧~∞]↓α↓↓↓↓αβp4(J↓↓A↓πa↓↓↓α↓↓↓↓α↓↓↓↓α↓↓↓↓πa↓↓↓α↓GOQε+7CSJ↓↓↓↓πa↓D4PH```ACp``A@```A@```A@```ACp``A@```A@```A@```ACp4(O;?K⊃πa↓↓↓α↓↓↓α$
⊃↓↓α↓↓↓↓πa↓↓↓α↓↓↓α≤z9↓↓α↓↓↓↓π`4(%α↓E↓βb↓↓↓↓α↓↓↓↓α↓↓↓↓α↓↓↓βb↓↓↓↓βOQβNkπ∨∃α↓↓↓βb↓L4(I@```G````A@```A@```A@```G````A@```A@```A@```G`4('>{K⊃βb↓↓↓↓α↓βSgε)↓↓↓α↓↓↓βb↓↓↓↓α↓βK↔f{
↓↓α↓↓↓β`h(%↓β⊃↓βqα↓↓↓↓α↓↓↓↓α↓↓↓↓α↓↓βqα↓↓↓↓β→M↓Aβ↓A↓↓α↓↓βphP$``A@cp`A@```A@```A@```A@cp`A@```A@```A@```A@cp4PK←?K"βq↓↓α↓↓↓↓α↓↓↓↓α↓↓↓↓αβq↓↓α↓↓↓↓α↓↓↓↓α↓↓↓↓αβp4(J↓↓M↓πa↓↓↓α↓↓↓5ji↓↓↓α↓↓↓↓πa↓↓↓α↓↓↓5ji↓↓↓α↓↓↓↓πa↓@4PH```ACp``A@```A@```A@```ACp``A@```A@```A@```ACp4(O;?K⊃πa↓↓↓α↓↓↓↓α↓↓↓↓α↓↓↓↓πa↓↓↓α↓↓↓↓α↓↓↓↓α↓↓↓↓π`4(%α↓Q↓βb↓↓↓↓α↓↓55j↓↓↓↓α↓↓↓βb↓↓↓↓α↓↓55j↓↓↓↓α↓↓↓βb↓@4(I@```G````A@```A@```A@```G````A@```A@```A@```G`4('>{K⊃βb↓↓↓↓α↓↓↓↓α↓↓↓↓α↓↓↓βb↓↓↓↓α↓↓↓↓α↓↓↓↓α↓↓↓β`h(%↓β)↓βqα↓↓↓↓α↓555α↓↓↓↓α↓↓βqα↓↓↓↓α↓555α↓↓↓↓α↓↓βqβ4($A@``ca@```A@```A@```A@``ca@```A@```A@```A@``c`h('←␈∪⊃βqα↓↓↓↓α↓↓↓↓α↓↓↓↓α↓↓βqα↓↓↓↓α↓↓↓↓α↓↓↓↓α↓↓βphP%↓↓2↓βq↓α↓↓↓↓αi55↓α↓↓↓↓α↓βq↓α↓↓↓↓αi55↓α↓↓↓↓α↓βq↓h($`A@`cpA@```A@```A@```A@`cpA@```A@```A@```A@`cphP4(&&C∃β≠Nc5↓βv{∪∃↓εKMβWvKGW∃Z↓β'QεKM↓β&C∃↓β6KKOQode in a CRE
output file; the SON of film is its first image; the DAD of a film
is NIL; the CCW of a film is a pointer to the 1st empty node;
however, because the nodes are compacted for output and then
relocated with respect to the film node; the final empty node
pointer indicates the number of words of data in the CRE file.
8. EMPTY NODE FORMAT.
_____________________________________________
word | | CCW |
0 | --- | avail | 1
_____|___________________|___________________|
word | | |
1 | --- | --- | 0
_____|___________________|___________________|
word | type | reloc |
2 | | 00 0000 |
_____|___________________|___________________|
word | | |
3 | --- | --- | 0
_____|___________________|___________________|
word | | |
4 | --- | --- | 0
_____|___________________|___________________|
word | | |
5 | --- | --- | 0
_____|___________________|___________________|
word | | |
6 | --- | --- | 0
_____|___________________|___________________|
The list of empty nodes is maintained in the CCW link
postion; the last empty node contains a zero or NIL link. At present
all the other words of an empty node are zero.
FIGURE SHOWING RASTER STRUCTURE._____________________________________
↑
↑
NORTH
grid point R,C R,C+1
o____HSEG______o
|
|
|
←←←WEST VSEG PIXEL(R,C) EAST→→→
|
|
|
o SOUTH
R+1,C ↓
↓
_____________________________________________________________________
DATA STRUCTURE: IMAGE ARRAYS.
There are five arrays in CRE: TVBUF, Television Buffer; PAC,
Picture Accumulator; VSEG, vertical segments; HSEG, horizontal
segments; and SKY, background sky blue array. The dimensions are:
FIVE ARRAYS.
1. TVBUF - 216 rows, 288 columns of 6 bit bytes.
2. PAC - 216 rows, 288 columns of 1 bit bytes.
3. VSEG - 216 rows, 289 columns of 1 bit bytes.
4. HSEG - 217 rows, 288 columns of 1 bit bytes.
5. SKY - 216 rows, 289 columns of 18 bit bytes.
Inside CRE, the video image size was fixed at 216 rows of
288 columns of 6 bits per pixel. My original idea was to write a
vision operator that would be applied on a small fixed sized window;
so I have had windows 2 by 2; 2 by 3; 4 by 9; 32 by 36; 72 by 96;
and 216 by 288. That is 216=2*2*2*3*3*3 and 288=2*2*2*2*2*3*3.
Having a fixed window size avoids a morass of word packing, array
allocation and window splicing. Having a window size constructed
out of powers of 2 and 3 simplifies what word packing is required
and allows me to do area and space computations in my head.
The image arrays of CRE are of course two dimensional with
the coordinates in row and columns. Row number increases going down
image, in the negative Y axis direction, which is also called the
direction south. Column numbers increase going right on the image,
in the positive X axis direction, which is also called the direction
east. Video picture elements, or "pixels" are thought of as
expressing the intensity of a square cell; the cells are numbered
from 0 to 215 rows, 0 to 287 columns; the number of a cell is the
grid locus of its upper left (northwest) corner; the center locus of
a cell is at (row+1/5,col+1/2). A pixel cell is surrounded by four
segments; the horizontal segments are numbered 0 to 216 rows, 0 to
287 columns; the number of an HSEG is the grid locus of its left
(west) end point. The vertical segments are numbered 0 to 215 rows,
0 to 288 columns; the number of a VSEG is the grid locus of its
upper (north) end point. These conventions are suggested in the
diagram at the bottom of page 19.